package cn.iocoder.yudao.module.brokerage.user.pojo.vo;

import cn.iocoder.yudao.framework.business.basic.pojo.vo.MemberScopeVO;
import cn.iocoder.yudao.framework.business.basic.pojo.vo.UserSimpleVO;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "推广用户 Response VO")
@Data
public class AppBrokerageUserSimpleVO extends MemberScopeVO {

    @Schema(description = "类型：0-普通用户、1-会员、2-招商人员、3-商家")
    private Integer type;
    @Schema(description = "类型：0-普通用户、1-会员、2-招商人员、3-商家")
    private String typeName;

    @Schema(description = "父级用户编号")
    private Long fatherUserId;

    @Schema(description = "父级用户信息")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private UserSimpleVO fatherUser;

    @Schema(description = "祖级用户编号")
    private Long grandpaUserId;

    @Schema(description = "祖级用户信息")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private UserSimpleVO grandpaUser;

    @Schema(description = "等级权重")
    private Integer levelWeight;
    @Schema(description = "等级权重")
    private String levelWeightName;

    @Schema(description = "开关")
    private Boolean enabled;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

}